#include <my_header.h>
// 根据域名，获取一下知名互联网厂商的IP地址信息，如
// 阿里、京东、腾讯、百度。
/* Usage: ./7_DNS */
int main(void){                                  
    struct addrinfo *res;

    // DNS请求，获得结果
    // getaddrinfo(域名/主机名/点分十进制IPv4/16进制Ipv6，服务器/端口，期望返回， 符合条件的网址信息)
    getaddrinfo("alibaba.com", NULL, NULL, &res);
    // 遍历res
    printf("阿里IP地址:\n");
    for(struct addrinfo *p = res; p != NULL; p=p->ai_next)
    {
        struct sockaddr *ipTag = p->ai_addr;
        if(p->ai_family == AF_INET)
        {   // 获得IPV4
            // 类型转换
            struct sockaddr_in *socketTagV4 = (struct sockaddr_in *)ipTag;
            // 获取IP地址
            struct in_addr ipTagV4 = socketTagV4->sin_addr;
            // 把网络IP转换为点分十进制
            char * strIp = inet_ntoa(ipTagV4);
            printf("IPv4, ip = %s\n", strIp);

        }
    }
    // 释放
    freeaddrinfo(res);
    return 0;
}


